package com.cloud.sky.entity.vo;

import lombok.Data;

import java.io.Serializable;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.List;

@Data
public class BigNodeDetailVO implements Serializable {
    private String area;

    private Integer settlementType;

    private List<DialDetail> dialDetail;

    private Double usageRate;

    private Integer groupType;

    private String descTP;

    private Integer natType;

    private String deployedTime;

    private Integer dialType;

    private List<DiskInfo> diskInfo;

    private String uuid;

    private Integer operator;

    private Integer settlement;

    private String createdAt;

    private Integer maxBandwidth;

    private Integer diskSize;

    private Integer memorySize;

    private Integer cpuCores;

    private String subName;

    private String host;

    private Integer online;

    private Integer serviceId;

    private ManageDialDetail manageDialDetail;

    private String statusMapKey;

    @Data
    public static class DialDetail implements Serializable {
        private Integer ipv4PacketLoss;

        private String vlanId;

        private Integer bandwidth;

        private Integer natType;

        private String intraIpv4Addr;

        private Double ipv6PacketLoss;

        private Double icmpTimeDelay;

        private String outsideIpv4Addr;

        private Integer txUpRate;

        private String network;

        private String outsideIpv6Addr;

        private Integer connected;

        private Double tcpUpRate;

        private String password;

        private Integer isNICPublic;

        private String device;

        private String username;

    }

    @Data
    public static class DiskInfo implements Serializable {
        private String diskName;

        private Double diskWriteAwait;

        private String diskModel;

        private Integer diskUsedSize;

        private Double diskReadKBCountPercentSecond;

        private Double diskIOPercent;

        private Integer diskSpaceSize;

        private Double diskReadAwait;

        private String diskSerial;

        private Integer diskType;

        private Double diskWriteKBCountPercentSecond;
    }

    @Data
    public static class ManageDialDetail implements Serializable {
        private Integer ipv4PacketLoss;

        private Double icmpTimeDelay;
    }
}
